/**
 * @author haiqin
 * 目前只能适用范围不大
 * 依赖1、laypage；2、arttemplate；3、layer。
 * 加载该插件前，请确保上述三个插件已被加载
 */
var loaddata = {
	configs:{ //插件默认配置
		api:"",
		container:"#miniData", //输入注入的dom
		tpl:"miniDataTpl" , // artTemplate模板引擎，带渲染模板
		pageDom:"page",
		keyword:"",
	},
	setting:function(configs){
		//修改默认配置
		if(configs.api) this.configs.api = configs.api;
		if(configs.container) this.configs.container = configs.container;
		if(configs.tpl) this.configs.tpl = configs.tpl;
		if(configs.pageDom) this.configs.pageDom = configs.pageDom;
		
		if(!this.configs.api){
			//console.log('接口地址不能为空'); //抛出异常
			return 0;
		}else{
			return 1;
		}
	},
	/**
	 * configs 配置文件
	 * json 查询条件
	 */
	remoteload:function(configs,json){

		//加载远程数据，并注入到指定的dom
		var $this = this; //标注为插件本身
		var keyword = json.keywords;
		if(!keyword) keyword = '';
		if(this.setting(configs)){
			$.post(this.configs.api,json,function(ret){
				if(ret.status){
					//关键词描红
					template.helper('keywordRed', function (str) {
						var str = str.replace(new RegExp(keyword, 'g'), '<span style="color:red">'+keyword+'</span>');
						return str;
					});
					
					var data = ret.data; //这个是关键参数
					if(!data.length) data = ret.data.data; //尝试适配
					
					var html = '';
					if(data){
						for(var i = 0 ; i < data.length ; i++){
							html += template($this.configs.tpl,data[i]);
						}
						html += '<script>$.miniweb.run();</script>';
					}
					$($this.configs.container).html(keyword_red(html,keyword)); //将渲染好的数据输出到指定的dom
					
					laypage({
	    			    cont: $this.configs.pageDom, //容器。值支持id名、原生dom对象，jquery对象,
	    			    pages: ret.data.pages, //总页数
	    			    first: false,
	    			    last: false,
	    			    curr: json.p,
	    			    jump: function(e, first){ //触发分页后的回调
	    			        if(!first){ //一定要加此判断，否则初始时会无限刷新
	    			        	$('input[name="p"]').val(e.curr);
	    			        	$('#'+$this.configs.pageDom).attr("data-cur",e.curr);
	    						json.p = $('#'+$this.configs.pageDom).attr('data-cur');
	    			        	$this.remoteload(configs, json); //回调插件自身方法
	    			        }
	    			    }
	    			});
					
					//keyword_red($("#keywords").val(),'td.text-l');
				}else{
					layer.alert(ret.info);
				}
			});
		}else{
			layer.alert('配置不正确');
		}
		
		/**
		 * 关键词描红处理
		 */
		function keyword_red(html,keyword){
			if(keyword){
				return html.replace(new RegExp(keyword, 'g'), '<span style="color:red">'+keyword+'</span>');
			}else{
				return html;
			}
			
		}
	},

};
